CREATE TABLE `SRAnalytics`.`MsgCCodeDefinition` (
`ccode_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`ccode_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`ccode_tk` VARCHAR(12) NOT NULL DEFAULT '',
`futexch` ENUM('None','CFE','CME','CBOT','COMEX','NYMEX','ICE','EUREX','CEDX','NXAM','NXBR','NXLS','NXML','NXOS','NXP','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'listing exchange',
`ticker_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'master underlying',
`ticker_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'master underlying',
`ticker_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'master underlying',
`settleTime` ENUM('None','PM','AM') NOT NULL DEFAULT 'None' COMMENT 'Settlement time: None; PM; AM',
`positionLimit` INT NOT NULL DEFAULT 0 COMMENT 'max contract limit',
`tickValue` FLOAT NOT NULL DEFAULT 0 COMMENT '$NLV value of a single tick change in display premium (pointValue = tickValue / tickSize)',
`pointValue` FLOAT NOT NULL DEFAULT 0 COMMENT '$NLV value of a single point change in display premium (pointValue = tickValue / tickSize)',
`pointCurrency` ENUM('None','AUD','BRL','CAD','CHF','CNH','CNY','EUR','GBP','JPY','KRW','MXN','MYR','NOK','NZD','SEK','TRY','USD','USDCents','CZK','ZAR','HUF','USX','GBX') NOT NULL DEFAULT 'None',
`priceScaling` FLOAT NOT NULL DEFAULT 0 COMMENT 'underlying price scale factor - products where the underlying quotes in cents will have 0.01',
`underliersPerCn` INT NOT NULL DEFAULT 0 COMMENT 'shares, bond, or index units underlying the future (contract size)',
`underlierType` ENUM('None','Equity','Other','FX') NOT NULL DEFAULT 'None' COMMENT 'Underlying type; None; Equity; Other; FX',
`clearingCode` VARCHAR(6) NOT NULL DEFAULT '' COMMENT 'GMI/Clearing code',
`ricRoot` VARCHAR(6) NOT NULL DEFAULT '' COMMENT 'RIC Root',
`bbgRoot` VARCHAR(6) NOT NULL DEFAULT '' COMMENT 'Bloomberg root',
`bbgGroup` ENUM('None','Govt','Corp','Mtge','MMkt','Muni','Pfd','Equity','Comdty','Index','Curncy') NOT NULL DEFAULT 'None' COMMENT 'Bloomberg Yellow Key',
`gmiExchange` VARCHAR(3) NOT NULL DEFAULT '' COMMENT 'GMI (Sungard) exchange code',
`gmiProduct` VARCHAR(3) NOT NULL DEFAULT '' COMMENT 'GMI (Sungard) product code',
`gmiSubType` VARCHAR(3) NOT NULL DEFAULT '' COMMENT 'GMI (Sungard) subtype code',
`displayPriceScaling` FLOAT NOT NULL DEFAULT 0 COMMENT 'internal display price scale factor override',
`strikeScaling` FLOAT NOT NULL DEFAULT 0 COMMENT 'internal strike price scale factor override',
`description` VARCHAR(48) NOT NULL DEFAULT '' COMMENT 'product description',
`marketCenter` VARCHAR(48) NOT NULL DEFAULT '' COMMENT 'market center, eg "ICE Market Type", "CME MarketGroup"',
`tradingPeriod` ENUM('None','NMS','NMS_EXT','NMS_GTH','CME_ES','CME_GRAIN','CME_TRSY','CME_ENGY','CME_METAL','CME_FX','CME_COMD','CME_CRYP','CME_DAIRY','CME_EQBTIC','CME_NKBTIC','CME_WEATHER','CME_TACO','CME_TPXBTIC','CME_FTSE','CME_BMD','CME_BOVESPA','CME_EQTMAC','CME_TAM','CME_OTHER','CFE','ICE_US','ICE_EU','EUX','EU_ERX','EU_CBOE','EU_NXAM','EU_NXBR','EU_NXLS','EU_NXML','EU_NXOS','EU_NXP') NOT NULL DEFAULT 'None',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
PRIMARY KEY USING HASH (`ccode_tk`,`ccode_at`,`ccode_ts`),
KEY `TickerIndex` (`ticker_tk`) USING HASH
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='Commodity code (product code) definitions for all futures. Also maps future ccodes to SpiderRock tickers. Information is sourced from listing exchange product definitions.\nThis table also contains definitions for exchange and user-defined spreads including spreads used as option underliers. SpiderRock typically uses a compact form of the exchange (spread) product ID as the ccode for these products if there is no natural (human-readable) exchange spread ticker issued for the spread. Note that the full spread definition can be found in the ProductDefinition and human-readable version in the description field below.\nNote that SpiderRock tickers below are synthetic and are created for organizational purposes only. SpiderRock synthetic tickers typically begin with a \'@\' character.';